Motion tracking and analysis apparatus and method and system implementations thereof

ABSTRACT

An orientation and position tracking system and method in three-dimensional space and over a period of time utilizing multiple inertial and other sensors for determining motion parameters to measure orientation and position of a moveable object. The sensors, for example vibrational and angular velocity sensors, generate signals characterizing the motion of the moveable object. The information is received by a data acquisition system and processed by a microcontroller. The data is then transmitted to an external data reception system (locally based or a global network), preferably via wireless communication. The information can then be displayed and presented to the user through a variety of means including audio, visual, and tactile. According to various embodiments, the present invention provides for a motion tracking apparatus and method for implementation in motion systems including systems to teach motion to a group and for body motion capture and analysis systems.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation-in-part of U.S. patent application Ser. No. 10/742,264, filed Dec. 19, 2003, entitled “Method and Apparatus for Determining Orientation and Position of a Moveable Object,” now pending, and the present application also claims priority to U.S. Provisional App. No. 60/572,398, filed May 19, 2004, entitled “Teaching Motion to a Group” and to U.S. Provisional App. No. 60/603,967, filed Aug. 24, 2004, entitled “Body Motion Capture and Analysis System,” all of which are incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates to an apparatus and method for motion tracking and analysis and the implementation thereof into motion systems, including body motion capture and analysis systems and systems for teaching motion to a group.

BACKGROUND OF THE INVENTION

Technologies are known for determining and analyzing object motion through transmission of position and orientation information of the object to a processing system. Such technologies are utilized today in a variety of industries including navigation and entertainment. (See, for example, U.S. Pat. No. 6,001,014 to Ogata, et al., U.S. Pat. No. 5,903,228 to Ohgaki, et al., and U.S. Pat. No. 5,875,257 to Marrin, et al., which are incorporated herein by reference). In particular, wireless transmission of object motion data for analysis is continuing to be developed and utilized, and applications of such technology include the expanding industry of simulated “virtual reality” environments. (See, for example, U.S. Pat. No. 5,819,206 to Horton, et al., which is incorporated herein by reference).

Object motion can be measured using sensors for determining motion parameters such as accelerometers and gyroscopes. Gyroscopes and accelerometers are well-known in the automotive and aerospace industries for providing motion information, establishing an inertial space reference, and allowing measurement of pitch and roll relative to a gravitational vector. Historically, the use of these sensors have been limited to large devices due to the weight and bulk of the sensors. However, technology improvements have produced smaller gyroscopes and accelerometers that can be utilized in a wide variety of applications where limited sensor space is available. (See, for example, U.S. Pat. No. 5,898,421 to Quinn and RE37,374 to Roston, et al., which are incorporated herein by reference).

Acceleration sensors, including accelerometers and strain gauges, have been utilized in sporting equipment, such as golf clubs, to provide analysis of golf swings. (See, for example, U.S. Pat. No. 5,694,340 to Kim and U.S. Pat. No. 5,233,544 to Kobayashi, which are incorporated herein by reference). Such acceleration sensors can provide rotational information about the golf club, but the accuracy of such rotational information can be problematic.

U.S. Pat. No. 6,224,493 to Lee, et al., which is incorporated herein by reference, discloses an instrumented golf club system with sensors to measure characteristics of a golf swing, including the use of an angular rate sensor. A distinctive feature of this instrumented golf club is the use of a data storage memory device located within the golf club that eliminates the need for radio transmission hardware. The data from a golf swing is captured internally and stored until the user is ready to download the data for further processing. Swing analysis can only be conducted after the internally stored swing information is downloaded to the external processing device.

Accordingly, there is a need for a motion tracking and analysis apparatus and method which utilizes motion sensors and data transmission of motion information for analysis and display and which may be utilized in a wide variety of applications and systems.

SUMMARY OF THE INVENTION

An orientation and position tracking system and method in three-dimensional space and over a period of time utilizing multiple inertial and other sensors for determining motion parameters to measure orientation and position of a moveable object. The sensors, for example vibrational and angular velocity sensors, generate signals characterizing the motion of the moveable object. The information is received by a data acquisition system and processed by a microcontroller. The data is then transmitted to an external data reception system (locally based or a global network), preferably via wireless communication. The information can then be displayed and presented to the user through a variety of means including audio, visual, and tactile. According to various embodiments, the present invention provides for a motion tracking apparatus and method for implementation in motion systems including systems to teach motion to a group and for body motion capture and analysis systems.

BRIEF DESCRIPTION OF THE DRAWING

The invention is described with reference to the several figures of the drawing, in which:

FIG. 1 is a functional diagram of an orientation and position tracking system according to one embodiment of the invention;

FIG. 2 is a schematic illustration of a device utilizing the orientation and position tracking system according to one embodiment of the invention;

FIG. 3 is a schematic illustration of a device utilizing the orientation and position tracking system and including a pressure sensor according to one embodiment of the invention;

FIG. 4 is a schematic illustration showing the utilization of multiple devices in an orientation and position tracking system according to one embodiment of the invention;

FIG. 5 is a detailed data flow model for a device utilizing the orientation and position tracking system according to one embodiment of the invention;

FIG. 6 is a flow chart of the operational software for a motion and position sensing device installed on or in a moveable object according to one embodiment of the invention;

FIG. 7 is a flow chart of the operational software installed on a computer system for analyzing and displaying transmitted orientation and position information according to one embodiment of the invention;

FIG. 8 is a schematic illustration showing a motion tracking system using multiple transmitters according to one embodiment of the invention;

FIG. 9 is a schematic circuit diagram of a Pitcher unit suitable for utilization in a motion tracking system having multiple users according to one embodiment of the invention;

FIG. 10 illustrates a transmitter (Pitcher) and receiver (Catcher) timing diagram according to one embodiment of the invention;

FIG. 11 is a sample of microcontroller code governing the timing protocol set forth in FIG. 10;

FIG. 12 is a schematic circuit diagram of a Catcher with multiple frequency capabilities according to one embodiment of the invention;

FIG. 13 illustrates an initial setup of the system in which all three sub-systems are physically connected together as shown according to one embodiment of the invention;

FIG. 14 is the flow diagram for manual Pitcher scanning according to one embodiment of the invention;

FIG. 15 is a flow diagram for automated Pitcher scanning according to one embodiment of the invention;

FIG. 16 illustrates sample code for the Best Channel function according to one embodiment of the invention;

FIG. 17 is a screen shot of the iClub system with the Swing Signature developments of this thesis incorporated according to one embodiment of the invention;

FIGS. 18A-C illustrates a body motion capture vest system according to one embodiment of the invention;

FIG. 19 is a screen shot of video input and synchronization for a body motion capture and analysis system according to one embodiment of the invention;

FIG. 20 illustrates a control box with user input for the body motion capture and analysis system according to one embodiment of the invention.

DETAILED DESCRIPTION OF VARIOUS EMBODIMENTS OF THE INVENTION

The present invention provides for an orientation and position tracking system in three-dimensional space installed on or in a moveable object that utilizes inertial and other sensors for determining real-time motion parameters and real-time wireless transmission of that motion information to an external computer system (including PDA, cellular phone, or over a network). In one embodiment, the present invention provides for an intelligent golf club, the iClub™ (trademarked by Fortescue Corporation), that provides golfers with real-time, precise and dynamically presented data, including swing analysis. A golfer takes a swing and a detailed analysis of club motion, launch conditions, club speed information, as well as contextual feedback is automatically downloaded into an computer system (such as a PDA, cellular phone, or network). Swing history is stored and tracked over time, allowing users to monitor their progress, make swing adjustments, maintain a practice regime, and develop desired swing characteristics. According to various embodiments, the present invention provides for a motion tracking apparatus and method for implementation in motion systems including systems to teach motion to a group and for body motion capture and analysis systems.

Referring herein to the figures of the drawing, the figures constitute a part of this specification and illustrate exemplary embodiments of the invention. It is to be understood that in some instances various aspects of the invention may be shown exaggerated or enlarged to facilitate an understanding of the invention.

Embodiment: General Motion Tracking and Analysis System

FIG. 1 is a functional diagram of an orientation and position tracking system 10 according to one embodiment of the invention. A sensing device fitted with inertial and other sensors for determining motion parameters is installed on a moveable object, such as a golf club. In one embodiment, the sensors include multiple angular rate sensors, such as 3-axis vibration and rotational gyroscopes 12. A variety of additional sensors 14, 16 may also be added for determining position and orientation for additional applications. For example, a dual axis accelerometer may be added to the system to determine position and orientation relative to the earth's gravity, an electronic compass can be used to provide absolute position and orientation relative to a permanent magnetic field, and a GPS system may be added for similar results

Signals from the sensors are sent to a data acquisition system 18 that processes the information. In one embodiment, the data acquisition system 18 is installed internally on the moveable object; however, the system may also be an external component. The data is delivered to a wireless data transmission system 20 which transmits the data to a data reception system 22 on a computer (PDA, cellular phone, or network). The data is further processed and displayed to a user by means of an interface device 24, such as a PC, a PDA, cellular phone, or network. The interface device 24 comprises software to process the data. This software can be configured based on the characteristics of the moveable object. For example, a user may select the style of golf club that he or she is using that comprises information on the physical and material properties of the golf club. This information is utilized by the software to enhance the accuracy of the information displayed. For example, the type of material of the golf club allows for an accurate analysis of the flex characteristics of the golf club shaft and the length of the golf club can be utilized for an accurate determination of the club head speed.

FIG. 2 is a schematic illustration of one embodiment of a device 110 utilizing the orientation and position tracking system 10 according to one embodiment of the invention. The device 110 is attached to a desired moveable object 100. Such objects may include sporting equipment, such as the golf club as shown in FIG. 2. In a preferred embodiment, the device 110 is attached to or otherwise integrated within the handle, grip, or shaft of the object 100.

FIG. 2 further illustrates the support body and schematic layout for the components of device 110 of the orientation and position tracking system 10 when disposed in a handle of object 100. The system can be manually activated by a power switch 32 positioned on an orthogonal board 30 at the end of the handle that activates a power control circuit 34 to power up the system from an attached battery pack or other power source 36. Alternatively, the system can be activated by a motion activation component that provides power upon movement of the object. An indicator LED 38 can be used as a visual cue to assess whether the system is operating properly.

In one embodiment, angular rate sensors 42, 44, 46 are positioned on the orthogonal board 30 and main board 40 to measure angular motion changes about three axes. In an embodiment utilizing a golf club, these motion changes comprise rotational motion within a swing plane of a golf stroke, motion perpendicular to the swing plane of the golf stroke, and rotation about a axis along the handle of the club. These motion changes can also be determined using combinations of motion parameter determining sensors such as gyroscopes or other additional sensors 48 such as accelerometers, electronic compasses and GPS units.

The data acquisition system 18 positioned on main board 40 comprises a microcontroller 50 having Analog to Digital inputs and pulse width modulating inputs. The microcontroller 50 receives data from the sensors 42, 44, 46, and delivers data to the data transmission system. The data transmission system 20 comprises a transmitter circuit 52 and an antenna 54 for wireless transmission of data to a data reception system such as a PC, PDA, cellular phone, or network. The wireless transmission can be performed at any suitable frequency(s) and using any protocol(s) for transmitting the data, as known to one of ordinary skill in the art. The system according to the present invention is described with wireless transmission of data; alternatively, however, it is possible to implement the system of the present invention using wire connections in place of wireless transmission as would be known to one of ordinary skill in the art.

In another embodiment, the microcontroller 50 of the data acquisition system 18 may receive analog signals from the angular rate sensors 42, 44, 46 containing the orientation and position information of the object 100 and then digitize the analog signals into digital data with an analog to digital converter component. The microcontroller 50 delivers the digital data to the data transmission system 20 for wireless transmission to the data reception system 22. The user interface device 24 then analyzes and displays the received digital data.

In another embodiment, the inertial sensors, data acquisition system and data transmission system are incorporated within the handle, grip, or shaft of the object for which orientation and position are desired. In a golf club, these systems can be incorporated on or in the handle or grip portions of the shaft. This modular design provides for the present invention to be incorporated into pre-existing golf clubs.

FIG. 3 is a schematic illustration of a device utilizing the orientation and position tracking system and including a pressure sensor according to one embodiment of the invention. One or more pressure sensors 26 installed on, within or behind an impact head of the moveable object 100, i.e. golf club. These sensors can measure data including, strike location of the ball on the head, the spin imparted to the ball, and the impact force of the head on the golf ball which can be utilized to provide launch conditions of the golf ball's flight. This information can be processed by a controller and transmitted along with the motion information to the data receiving unit for analysis and display to a user.

FIG. 4 is a schematic illustration showing the utilization of multiple devices in an orientation and position tracking system according to one embodiment of the invention. In one embodiment, the sensor, the microcontroller and the wireless transmitter are integrated into at least one modular component or node that is removable from said moveable object. Multiple modular nodes, each having a separate complement of elements, may be integrated with both unconnected objects and interconnected objects. For example, as shown in FIG. 4, modular nodes 112 and 114 are affixed to the shoulders and hips of a user in order to detect body motion during the golf swing. The detection of the motion from nodes 112 and 114 may be integrated with the orientation and position data determined by the node (device 110) on the golf club, thereby providing more detailed information on the entire golf club swing system. Alternatively, multiple nodes may be utilized with multiple golf clubs, as for example in a class or teaching environment, with each device transmitting orientation and position data to centralized receiving and display units.

EXAMPLE 1

FIG. 5 is a detailed data flow model of device 110 utilizing the orientation and position tracking system 10 according to one embodiment of the invention. FIG. 6 is a flow chart 120 of the operational software for a motion and position sensing device installed on a moveable object according to the embodiment of the invention. The system is initialized and the LED provides a visual cue that the system is operational. The system software controls the identification of a user, the sampling of inputs and the encoding and sending of data concerning orientation and position information. The hardware device need not have an on-board memory for storing the orientation and position information. Instead, the information is transmitted in real-time to a data reception system, for example a PC, PDA, cellular phone, or network.

The real time, wireless motion and position sensing system operates in three-dimensional space and over time based on four modules: the sensor module, the microcontroller, the wireless module, and the support system module. The sensor module continually sends orientation and position signals to the microcontroller. The microcontroller then packages the data received from the sensor module and sends it to the wireless module. The wireless module transmits the packaged data to a device such as a PC, PDA, cellular phone, or network. The support module surrounds the other three modules, providing power to the system, as well as designer access tools. The modules will now be further described in detail.

Sensor Module

In one embodiment, the underlying sensor nodes in the sensor module are gyroscopes (such as Murata ENC-03JA/B). Each gyroscope measures angular velocity about a single axis. In order to achieve 3-dimensional data three gyroscopes are used, each positioned so that its sensing axis is orthogonal to every other gyroscope. The gyros send their angular velocity data directly to the microcontroller. Additional sensors including accelerometers, compasses, GPS systems may provide additional information based on particular motion and position sensing needs.

Microcontroller

The microcontroller system relies on a single Microchip Technology PIC16F877 microcontroller, running off a 20 Mhz Panasonic-ECG EFO-BM2005E5 resonator. The main objective of the microcontroller is to receive data from the sensors, manipulate the data and send it to the wireless transmitter. The microcontroller utilizes three of its on-board analog-to-digital converters and pulse width modulated inputs to process the data. Finally, the data is packaged sent to the wireless module.

Wireless Module

The wireless module sends data wirelessly using a radio frequency transmitter (e.g. Radiometrix TX3-914-50) and an optimal antenna. The sending system formats the data appropriately for the receiving system.

Support System Module

The support system module has two power supply functions. First, it uses a switch (E-switch EG1270) to allow power to flow from an onboard battery to the microcontroller. The microcontroller then switches on a P-channel MOSFET (Fairchild Semiconductor NDS352P), which provides power to all devices in the system. Its second power function is to allow for recharging of the onboard battery. The support module contains a set of headers (Sullins Electronics Corp. PPPN401BFCN and PRPN401AEN) for internal and external connections; one of the headers allows a recharge to access the battery directly, bypassing all other components.

Further, there are a number of designer access tools in the support system module. First, there is the programmer port which is used to initially program the microcontroller. The programmer port uses a header (same headers as above) in order to allow the external programmer access to the microcontroller.

Second, the support module provides a communication port. This port is used to reprogram the microcontroller or access data directly, bypassing the wireless transmitter.

The final tool is a visual cue to the user/designer that the system has received power and is working properly. The system provides this cue using a dual color LED (Lite-ON Inc. LTST-C155KGJRKT).

EXAMPLE 2

FIG. 7 is a flow chart 130 of the operational software installed on a computer system for processing and presenting orientation and position information according to one embodiment of the invention. The operational steps of the software will now be described in detail.

1) Initialize Variables

As soon as the software program starts, a number of variables are named and allocated in memory for the program to store and access information. These initial variables are split into three major categories (with other supporting categories): main class variables, sensor variables, and 3D model variables.

2) Receive Packet

The software program is constantly processing bytes of data as they stream into the computer system. The software program looks for packets of appropriately formatted data, and sends them to the next step in the program.

3) Error Check Packet

Before each packet is passed on to the next step in the program, the software program ensures that the packet was not corrupted during wireless transmission.

4) Convert Packet Data to Sensor Data

Sensor data is encoded across each new packet; therefore, the packet must correctly reassembled into sensor data before it can be intelligibly deciphered by the rest of the software program.

5) Update Sensor Parameters

This step corrects for variations in sensor hardware that could be caused by a number of environmental changes (e.g. temperature variance, electromagnetic interference, etc.).

6) Create Swing Model

At this point, the system enters an iterative loop in which sensor data is used to update an internal 3D model of a golf club. The software system processes both the sensor data and the 3D club model to match for a possible golf swing pattern. If a match occurs, the system creates an internal Swing Object representing that golf swing, storing both the sensor data and 3D model history inside this object. This Swing Object can then be saved directly to an available storage medium, such as a local hard drive or a remotely server accessible through available networks. Saved Swing Objects can later be reinterpreted by the system individually or as part of a series of Swing Objects.

7) Generate Single-Swing Statistics and Feedback

The software program uses the newly captured golf swing to generate swing statistics. These statistics include, but are not limited to, impact detection, launch angle, face angle (at impact and at various moments of the swing path), club head speed, initial face angle, tempo breakdown by swing stage (address-to-top, top-to-impact, impact-to-finish), impact location (toe, heel, center), power transfer index, derived distance, ball trajectory, wrist break, and swing plane alignment. Using algorithms, the 3D model and/or swing statistics are used to provide detailed feedback

8) Generate Multi-Swing Statistics and Feedback

The software program uses the single swing 3D models and statistics to generate multi-swing statistics. These statistics include, but are not limited to, tempo consistency (at address-to-top, top-to-impact and, impact-to-finish), club fitting data, long-term trends, training regimes

9) Save Swing as a File

The software program saves each new swing as a file.

EXAMPLE 3

The operational steps for using an iClub system according to one embodiment of the present invention are described below:

Step 1:

Take a swing. The iClub does not even need to be manually activated and is smart enough to activate based on the motion of the swing. Waggle or warm-up the golf club as normal; the iClub is intelligent and can sense a real swing versus your warm up.

Step 2:

After you have swung the iClub, data is wirelessly transmitted to your hand held laptop, cell phone or other electronic device. There you can view real-time swing properties and gain feedback on your swing. If you would rather wait until later to view your results, go ahead, your feedback will be waiting for you whenever you want it.

Step 3:

If you happen to be connected to the Internet while at the golf course, you can gain valuable real-time analysis from our on-line swing engine which, among other things, is capable of correlating your long-term swing history with your handicap. Furthermore, the iClub System will let you know which equipment upgrades will improve your swing, which training methods to implement to eliminate a reoccurring problem, and even share information with your teaching professional.

The present invention is suitable for installation in a wide variety of objects and applications. Besides golf clubs, the present invention may be applied to tennis rackets, hockey sticks, fishing rods, baseball bats, swords, rifles, and other sporting equipment. Multiple sensors can be placed on the body to provide detailed body movement. Furthermore, the present invention can be utilized in joy sticks, 3D computer mice, and other computer user interface devices. In particular, the present invention can be utilized in virtual reality equipment for which position and orientation information is relied on extensively.

As described in Example 3, the present invention can be utilized as an instructional tool. The transmitted information can be stored by the computer analysis and display system for multiple swings of an individual golfer or other sport participant. The compilation of this data can be utilized to determine problems in a golfer's swing or to “fit” a golfer to an appropriate golf club. The large statistical number of golf swings analyzed provided by the use of the present invention fosters the ability of these instructional techniques to provide accurate evaluations and a means for mass customization of golf and sporting equipment in general

Embodiment: Multiple User Capability

There are many instances where an instructor must convey biomechanical information to a group of students: physical education classes; professional and recreational athletics; young children learning how to write; laborers learning the proper may to move and/or operate machinery; etc. Once a given motion has been initially conveyed between the instructor and the student through audible and visual explanation, the student then repeats the motion, until proficiency is reached. In our society, the ratio of students to instructors is high. For instance, the average elementary school classroom has typically 27 students for each teacher. As a result, it is difficult for a motion instructor to determine if an individual student is progressing towards motion proficiency.

Currently, most motion instructors go from student to student, observing a small subset of a student's attempts and provide feedback on the observed attempts. This feedback is often skewed towards the observed attempts and may not address deeper underlying problems that were not obvious during the observed motions. (See Rust, Chris. “A Briefing on the Assessment of Large Groups.” LTSN Generic Centre. November 2001.)

Motion instructors subscribing to the student-to-student methods often focus on solving a specific motion mistake during a class. Although this can be highly beneficial to students who make this mistake, this teaching method can be time wasting and even detrimental to students who do not display the specific mistake. Meanwhile, for most of the students in the class, more and more bad habits are being continually reinforced.

Providing the motion instructor with a tool that gives her the ability to accurately and quickly scan the class's performance allows the students to continuously practice the motion. It also allows the motion instructor to provide feedback on a spectrum of a student's attempts and not rely on a small subset of physically observed performances. Lastly, the motion instructor could divide the class into smaller groups, where the members of each group display a similar mistake. Specific practice motions can then be given to meet the needs of each group.

Tools for group instruction fall into two categories: large-group low-precision devices and single-user high-precision devices.

The large-group low-precision devices focus on tracking a large number of users but sacrifice the ability to capture a single user's finer motion. Recently, many marathons throughout the United States have adopted these types of devices to allow runners, organizers, and spectators to track the progress of any given runner. This is very impressive; as in New York City, 35,000 runners can now be tracked by a single system. (See Graham, Peter. “Fit Sense and Motorola Partner to Track Runners in ‘Solidarity Run’ at the New York City Marathon.” Fit Sense, Oct. 29, 2001.) The devices are small enough to be placed on runners' shoes and do not hinder the runner's performance. They are also low in cost, allowing a runner to walk away with the device after the event. However, none of the runners being tracked have access to how their stride changed in mile ten, or whether they tensed their shoulders during mile nineteen. The marathon style large-group low-precision motion-tracking device does not provide any finer level of capture than course position. This is the typical level of granularity for all large-group low-precision motion-tracking devices.

In contrast, there are the single-user high-precision devices. These types of motion tracking systems allow a user to view and understand exactly how he moved at any given point during the motion. A common example of a single-user high-precision motion capture device is the elaborate high-speed infrared camera setups used for golf instruction. These systems normally inhabit a specially lighted full size room, with cameras running at up to 120 frames per second strategically placed to ensure a 360-degree view of the student. The cost of such a system can run into the hundreds of thousands of dollars. However, what the system lacks in portability and affordability it makes up for in precise capture of the user's motion. An instructor is provided with a 360-degree view of any point during the students swing. By drawing on monitors, or capturing specific frames the instructor is able to convey highly focused feedback to the student on any given swing. (See Gorant, Jim, “Swing Doctors: A Computerized Motion Analysis System Helps BioVision Sports Perfect Your Golf Swing.” Popular Mechanics, October 1998.)

Both of these types of devices have their place in motion capture and instruction, but neither are suited for a group of five to thirty students requiring a high level of motion tracking precision. What is needed is a high-precision device that can be used by many people at the same time. In one embodiment, the present invention provides a small, portable, non-invasive, highly accurate golf swing detection, capture and analysis system that creates a small-group high-precision motion capture teaching aid. The multi-Pitcher capable iClub system of the present invention provides the high precision of costly video capture in addition to the group capabilities of the marathon GPS tracking systems.

As further described elsewhere herein, a motion tracking and analysis system according to one embodiment of the invention includes three physical devices: a data acquisition system 18 (hereinafter termed the “Pitcher”), a data reception system 22 (hereinafter termed the “Catcher”) and an interface device 24 (hereinafter termed the “Host”) (see FIG. 1). In various embodiments, the Pitcher is the part of the system that is placed on the student's golf club. It may contain all the motion capture sensors, and transmits its data wirelessly to the rest of the system. The Catcher is the wireless receiver that receives data from the Pitcher and outputs that data to the Host. The Host is customarily a laptop, accepting data from the Catcher, analyzing that data and displaying the data.

In another embodiment, the present invention provides for accurately capturing the motion of a group of individuals in a multi-user capable system. The Pitcher and the Catcher may be designed to allow for multi-channel RF wireless transmission. FIG. 8 illustrates a motion tracking and analysis system 200 according to one embodiment of the present invention that includes multiple Pitchers 202 transmitting to a single Catcher 204 and Host 206. In one embodiment, during setup, the Pitchers are systematically connected to the Catcher and post-setup, Pitchers only communicate one-way to the rest of the system.

One aspect of the present invention is the interaction between a group of Pitchers 210(a-e) and a single Catcher 220 and Host 230. The Pitcher is the part of the iClub system that every student must have on his golf club. However, the instructor should only need a single Catcher and a single Host to interact with all the students' Pitchers. As a result, a way to control and optimize the RF channels on which each of the Pitchers is sending was created. This channel selection process was then synchronized with the Catcher and Host so that students' Pitchers could be readily scanned, giving the instructor access to all of her students' data. When an instructor must quickly glance at the screen and decipher how each student in the class is doing it is imperative that the analysis of each student's swing is concise and readily understandable. This allows the instructor the ability to absorb an entire class worth of data at a single glance.

Finally, methods to allow the instructor to either manually select a particular student's input feed, or to automatically scan the entire class are required. The manual selection of a student allows the instructor to quickly jump directly to a student of interest. The automatic scan function allows the user to focus on an individual student with the knowledge that all the other students' swings are being captured and analyzed.

EXAMPLE 4

The following is a detailed description of the changes made to the single-user iClub system for multi-user implementation. The total increase in drawn current from the power supply by the modified systems described below is 7 mA as compared with a single user iClub system. Certain desired system requirements for the multi-user modified system include:

-   -   1. The total added cost to the system should be less than $40.     -   2. The Pitcher should run off of the equivalent of two alkaline         AAA batteries, and have a run time life of no less than 4 hrs.     -   3. The Pitcher should also fit in the pre-existing housing,         created for the original design.     -   4. The Catcher may use the Host's USB port for power, or an         equivalent.     -   5. The Catcher should communicate through the serial port.         Pitcher—Multiple Frequency Capabilities

The single-user iClub device may use a single frequency RF transmitter and receiver pair, in the general-purpose 902-928 MHz band. As a result, if more than one of these devices is used within 20 meters of one another, there is destructive interference and no device works properly.

In a multiple-user context, it is desirable to maintain functionality within the 902-928 MHz band, as well as to support access to a host device through serial communication. Size and power consumption were also major considerations when designing a solution to this problem. FIG. 9 is schematic circuit diagram of a Pitcher unit 210 suitable for utilization in a motion tracking system having multiple users according to one embodiment of the invention. The Pitcher unit 210 has multi-frequency transmitting capabilities and may receive information from the Host during setup initialization.

As shown in FIG. 9, the transmitter 214 (for exampole, Linx Technologies TXM-900-HP3-PPS) provided the multiple frequency capabilities required. Four additional lines from the microcontroller 212 were required in order to operate the transmitter 214 properly. The microcontroller 212 may be programmed with two different methods of operating the transmitter 214. The first allows extremely fast parallel programming of the transmitter to eight different frequencies. This style of transmitter programming requires the MODE pin to be grounded. With the MODE pin grounded, the CS0, SCL, and SDA pins determine which of the eight predefined channels are to be used. However, if greater than eight devices are required to operate in the same vicinity, then a slightly slower serial programming method is available. Power unit 216 provides power to the microcontroller 214 and peripheral systems 218 (for example, motion sensors).

In this embodiment, the Pitcher and Catcher adheres to the timing protocol shown in FIG. 10 in order to program the transmitter and receiver respectively, to a given channel. This specification can also be found within the Linx Technologies datasheets. (See “HP Series-3 Transmitter Module Design Guide.” Linx Technologies, Inc. Grants Pass, Oreg., 2003; and Balena, Francesco. “Programming Microsoft Visual Basic 6.0.” Redmond, Wash., 1999.) FIG. 11 is a sample of microcontroller code governing the timing protocol set forth in FIG. 10. This code is written in a dialect of C, specifically for the CCS compiler and meets the needs of the PIC16 class of micro-controllers. (See C Compiler Reference Manual.” Custom Computer Services, Inc. Brookfield, Wis., 2002.) The timing specification can be found in the Linx Technologies datasheets cited above.

Pitcher—Data Serial Communication

The Host 230 expects to receive data from the rest of the system through its serial port. To avoid the overhead of conforming to the entire EIA232 serial protocol, only the RX, TX, and GND lines are utilized. An inverter is used in the Pitcher 210 to reverse polarize the RX and TX lines in order to match the EIA232 requirements (see FIG. 9). From practice it has been shown that the “mark” signal state is not required and proper functionality can be achieved using inverted, near-ttl level signals.

Catcher—Multiple Frequency Capabilities

FIG. 12 is a schematic circuit diagram of a Catcher 220 including an RF receiver unit 222 with multiple frequency capabilities according to one embodiment of the invention. The microcontroller 224 governs which signals are sent to the Host 230 through the multiplexer 226. The Host 230 can also directly communicate with the Catcher 220. In one embodiment, the Linx Technologies receiver RXM-906-HP3-PPS was chosen, due to its multiple frequency capabilities as well as its compatibility with the transmission circuitry in the Pitcher. Similar to the Pitcher, the microcontroller 224 may be programmed with two different methods of operating the transmitter. The first allows extremely fast parallel programming of the transmitter to eight different frequencies. This style of receiver programming requires the MODE pin to be grounded. With the MODE pin grounded, the CS0, SCL, and SDA pins determine which of the eight predefined channels are to be used. However, if greater than eight devices are required to operate in the same vicinity then a slightly slower serial programming method is available.

Competing Catcher TX lines

Unlike the Pitcher where the bulk of the data to be sent to the other parts of the system originates in the Pitcher's micro-controller, the bulk of the data the Catcher must communicate to the Host comes directly from the Linx Technologies receiver unit. As a result, if the Catcher's micro-controller wishes to communicate directly with the Host the receiver unit must be disabled. However, upon disabling, the receiver unit un-latches the programmed channel.

The multiplexer 226 shown in FIG. 12 is one solution to this restriction. The Host 230 sends information directly to the microcontroller 224 of the Catcher 220 via the Catcher's RX line. The Catcher's microcontroller 224 responds to a Host directive directly by enabling port A of the multiplexer and sending data on the R_TX line. However, the microcontroller 224 may also enable port B of the multiplexer and allow the Pitcher 210 to continuously feed data to the Host 230 via the Catcher's receiver 222, D_TX. In the case when all three sub-systems are connected, the multiplexer 226 can enable port C and allow the Pitcher 210 to communicate directly to the Host 230.

Pitcher-Catcher Handshaking

In order for a single Pitcher to communicate properly with a Catcher and Host, a frequency channel is decided upon. The Pitcher also communicates its identification number to the Catcher and Host, so that the Catcher and Host know exactly which Pitcher they are tuned to.

In an effort to reduce costs, a one-way communications scheme using a transmitter and receiver pair was chosen over using a transceiver style device. The drawback to such an implementation is coordinating what frequency the transmitter is sending on, and what frequency the receiver is listening on. In order for the transmitter not to be sending on a frequency being heavily used, the receiver must identify unused frequency channels. Furthermore, the receiver must then communicate which unused channel the pair will use to further communicate to the transmitter. In one embodiment, this challenge may be overcome by forcing the user to connect the Pitcher and the Catcher upon system startup. The header in FIG. 9 is the port in which the Pitcher 210 connects to the Catcher 220.

Host-Catcher-Pitcher Communication Protocol

FIG. 13 illustrates an initial setup of the system in which all three sub-systems are physically connected together as shown according to one embodiment of the invention. The Host 230 is able to send commands to both the Pitcher 210 and the Catcher 220. The Catcher's micro-controller governs what the Host receives. On system startup, the host, pitcher and catcher are all connected together to ensure that all three sub-systems work in conjunction with one another. Both the Pitcher's transmitter and the Catcher's receiver are programmed to the same frequency channel. The chosen frequency channel should not have any other devices communicating on it, as well as have an acceptably low level of noise present. The Host is responsible for identifying whether or not a channel meets these requirements.

Communication Protocol Steps:

-   -   1. The Host first sends a Catcher identifying byte along the TX         line. This allows the Pitcher to ignore the following commands         and prompts the Catcher to process the commands to come.     -   2. The Host then sends a “p”. To the Catcher a “p” represents         the ProgramChannel function.     -   3. The next byte the host sends must be an integer in the set         [0,100]. This integer represents the channel number the Catcher         is to program its receiver with.     -   4. The Catcher then enables its R_TX line and echoes back the         channel number it just received to the Host.     -   5. Using the code in FIG. 6, the receiver is then programmed         with the desired channel, and the D_TX line is enabled.     -   6. The Host waits 40 ms for any data to come in over its RX         line, which is tied to the D_TX line.     -   7. Based on the data received the Host identifies the status of         the current channel. Table 1 outlines the possible states of a         channel.     -   8. The Host then has the Catcher program its receiver to the         next channel and its status is determined.         Repeat steps 1 through 8 until all 100 possible channels have         been listened to and given a status. Then continue onto step 9.     -   9. The Host then computes a BestChannel function, outlined in         Section 4.4, identifying which channel the system should use         during this session.     -   10. The Host then has the Catcher program its receiver to the         desired channel.     -   11. The Host then sends a Pitcher identifying byte along the TX         line. This allows the Catcher to ignore the following commands         as well as tie the Host's RX line to the P_TX line.     -   12. A “P” is sent to the Pitcher, readying the Pitcher to         program its transmitter.     -   13. The next byte the Host sends must be an integer in the set         [101,201]. 101 subtracted from this integer represents the         channel number the Pitcher is to program its transmitter with.     -   14. The Pitcher echoes the desired channel back to the Host.     -   15. The Pitcher then programs its transmitter using the code in         FIG. 6.

Table 1 is a description of the status given to a channel during scanning and programming of a Pitcher. TABLE 1 Status Description Pitcher Object Built “Open” No other Pitcher device is broad- No casting on the channel, and there is a low level of noise on the channel. “Used” There is already another Pitcher Yes, Pitcher number and broadcasting on the channel. This is channel are recorded determined by listening for Pitcher data packets. “Noisy” No other Pitcher is using the chan- Yes, the channel is nel, but noise levels on the channel recorded but there is no are deemed unacceptable. An unac- Pitcher number to record. ceptable noise level is ten bytes of information per millisecond.

At this point the Pitcher is transmitting on a previously open channel, the Host has recorded the channel the recently programmed Pitcher is operating on and correlated that channel with the Pitcher's unique identification number. The time required to complete this 1×System initialization is approximately 5 seconds.

EXAMPLE 5

An example of an N×System is a class of N golfers being taught by a single golf professional. The N×System differs from the 1×System in that the single Catcher-Host pair identifies N number of Pitchers, N number of Pitcher unique identification numbers, and the N channels the N Pitchers are communicating on. Furthermore, the N×System is able to switch from one Pitcher to another manually or automatically, as further described elsewhere herein.

N×System communication assumes that 1×System communication has been preformed on all N Pitchers in the N×System. A Pitcher was connected to the Catcher 20 and Host, all the channels were scanned, the best “open” channel was determined, and the “best” channel was programmed to the Pitcher, for all N Pitchers in the N×System. The time required to initialize an N×System is approximately N times the time to setup a 1×System, or N times 5 seconds. For a class of 15 people this means the setup time required to initialize the Catcher and Host and all 15 Pitchers is 75 seconds.

Each time a Pitcher is added to the N×System, the channel the Pitcher is broadcasting on and the Pitcher's identification number are formed into a Pitcher object. The new object is placed in an array holding all the Pitcher objects. The array is ordered by the Pitcher channel.

Manual Pitcher Scanning

Within the iClub System a database of information is kept on all users including user's name and an identification number of the user's Pitcher. FIG. 14 is the flow diagram 240 for manual Pitcher scanning. For manual Pitcher scanning, the instructor or golf professional has the ability to choose the name of a student in the current class whose Pitcher has been added to the N×System. The name of the student is used to search for that student's Pitcher identification number. With the identification number, the Pitcher object array is searched and the channel of that Pitcher is found. The Host then has the Catcher reprogram its receiver using steps 1 thru 5 of the communication protocol discussed above. No other students will be analyzed or viewed until the instructor chooses another name, or the system is put in automated Pitcher scanning mode. The instructor chooses a student, and that student's Pitcher is listened to until another student is chosen.

Automated Pitcher Scanning

When the auto-scan function is chosen through the user interface, the Host-Catcher sub-system cycles through all the channels of the current Pitchers initialized in the N×System. The Host-Catcher sub-system starts at the beginning of the Pitcher object array and steps through it one object at a time. The Host has the Catcher reprogram its receiver to the channel of the current Pitcher object in the array, using steps 1 thru 5 of the communication protocol discussed above. A built-in function in the iClub System is Swing Detect. This function analyzes the data streaming in from a Pitcher and determines whether or not a swing is in the process of happening. If Swing Detect believes a swing is taking place it returns true, otherwise it is set to false.

FIG. 15 is a flow diagram 250 for automated Pitcher scanning according to one embodiment of the invention. In automated Pitcher scanning, Swing Detect is used to determine whether or not to stay with the current Pitcher or to program the Catcher's receiver to listen to the next Pitcher. If Swing Detect does not return true within a 2-second window, then the Catcher's receiver is programmed to the next Pitcher in the object array. However, if Swing Detect returns true within the 2-second window, then the Host and Catcher stay on the current channel and wait until the swing has finished to move to the next channel. One by one the Pitchers identified in the Pitcher object array are listened to. If the Pitcher's user is swinging during the listening period, the system continues to listen to that Pitcher until the swing is done. After 2 seconds or a swing has finished the system moves on to the next Pitcher in the array.

EXAMPLE 6 Analysis Software—Host

There are two levels of analysis that take place in the software running on the Host. The first is an internal analysis that determines the optimum channel among the N×System to add a new Pitcher to and create a new (N+1)×System. The second level of analysis is much higher. This level of analysis determines whether the user of the Pitcher's motion falls within certain criteria, and categorizes the motion based on those criteria.

Internal Analysis

Once every channel has been scanned and given a status, the Host computes the optimum frequency to program a new Pitcher with. The optimum frequency channel is defined as the channel halfway between the two channels with the greatest distance separating them. FIG. 16 illustrates sample code for the Best Channel function. The code is written in development language VB 6.0. (See Balena, Francesco. “Programming Microsoft Visual Basic 6.0.” Redmond, Wash., 1999.)

Motion Analysis

In one embodiment of the invention, the Swing Signature algorithm inputs a motion and uses a set of criteria designed to break the motion down into components and evaluate the student's proficiency in each component. In general terms a motion can be thought of as a number line. The ideal of a motion would represent zero on the number line. The more positive the number the further the motion is from ideal on one side of the spectrum. The more negative the number the further the motion is from ideal on the other side of the spectrum. For example, examine the motion of moving a club over a straight line drawn on the ground. If the club stays perfectly over the line it would represent a zero on the number line. If the club were to the left of the line, then it would represent a negative number. Likewise, moving the club to the right of the line would represent a positive number.

Specifically, the Swing Signature is a string of numbers; each character of the string is a member of the set {0, 1, 2, 3, 4, 5}. The position of each character represents the motion criteria being examined, e.g. to the right or left of the target line. The greater the value of each character, the further the motion was from ideal. Furthermore, if the value of the character is non-zero and even, the motion was on the negative side of the number line. Likewise, if the value was odd, the motion was to the positive side of the number line.

Currently, five motion criteria are included in the Swing Signature: face angle at takeaway, face angle at impact, back swing path, forward swing path, and acceleration through impact. (See Jorgensen, Theodore. “The Physics of Golf 2^(nd) Edition.” Springer-Verlag New York Inc. New York, New York, 1999; Pelz, Dave; Frank, James. “Dave Pelz's Putting Bible.” Doubleday. New York, N.Y., 2000; snf Jacobs, John; Bowden, Ken. “The Golf Swing Simplified.” Lyons and Burford. New York, N.Y., 1993.) FIG. 17 illustrates a screen shot 260 of the iClub system software including the Swing Signature incorporated therein according to one embodiment of the invention. The five categories of tips are identified in the upper left corner, with arrows identifying with which tips they correspond. The actual concise string output is circled.

In another embodiment of the invention, a method is provided for any type of motion instructor to easily create a “motion object” which would be automatically searched for and analyzed if found. The “motion object” should be a high level representation of a physical motion, which is intuitively obvious for a motion instructor to build. The underlying structure of the “motion object” must convert the high level structure to an extremely low level processing of sensor inputs from the Pitchers.

In yet another embodiment of the invention, a method is provided for the creation of a grouping function. The grouping function utilizes the Swing Signatures as a measure of students' performance in given motion areas. Due to the structure of the Swing Signature, it can easily be sorted as well as expanded to include more motion criteria. The ability to examine all the active students' Swing Signatures and determine which students are exhibiting similar faults would further reduce the organizational load placed on the instructor. Furthermore, such a function allows the instructor more time to provide greater attention and focus on each group and consequently each individual.

As the cost of wireless communication packages continues to decrease, a transceiver style communication system may preferably be implemented. As of 2004 most off-the-shelf RF transceivers are nearly twice the price of a RF transmitter-receiver pair. However, the initial setup protocol would become much simpler if the user was never required to connect the Pitcher to the Catcher and Host. With a transceiver, the Pitcher would be able to scan all the channels itself and choose the optimal. Then by transmitting a unique identification tag, the Catcher could scan all the channels until it hears the Pitcher(s) that the host has told it to look for. This style of communication setup would reduce the amount of steps the user must follow to run the system as well as increase the total transparency of the system.

Embodiment: Body Motion Capture and Analysis System

The present invention further provides for a body motion capture and analysis system utilizing an apparatus worn or attached to the body. Nodes that may be permanent or detachable are incorporated into the apparatus at desired locations (for example, in the shoulder area, hip area, arm area, see FIG. 4) and the system provides for communication between the nodes and the apparatus and among the nodes (Inter/Intra Node/Apparatus communication). The nodes may be incorporated into articles of clothing or removably attachable directly to the body. The apparatus can be used alone or in conjunction with other hardware (e.g. video, magnetic systems, heart rate and bio measurement systems, etc.) or software (data analysis systems, database systems, etc.) and may be adapted for wired transmission of data, wireless transmission of data, or for storage of data on the apparatus. Consequently, the apparatus is suitable for real-time analysis, feedback and viewing of captured body motion data or may provide post-capture analysis, feedback and viewing.

In one embodiment, as shown in FIGS. 18A-C, the body motion capture apparatus includes a vest system 300 worn on the upper portion of the user's body, wherein the upper portion of the user's body is defined as the region between the head and the pelvis, allowing any area on the upper portion of the user's body to have a sensor node placed on it. FIG. 18A illustrates the front of the vest system 300 when not worn and FIGS. 18B and 18C illustrates the vest system when being worn by a user (front and back, respectively). The vest system 300 may be connected to a belt 302 situated around the user's waist and the vest is adjustable to accommodate a wide range of user sizes. The design of the vest is such that each node is physically isolated on the vest and yet the nodes remain in a relatively fixed in position to provide accurate motion data to the body motion analysis system. The vest 300 allows for a wide free range of unrestricted motion and is designed for male and female use.

In various embodiments, the apparatus contains at least one sensor node but may contain as many sensor nodes as is determined suitable by one of ordinary skill in the art for the purposes of accurately capturing body motion. (See FIGS. 4 and 18A-C). The locations of the sensor nodes are variable on the apparatus. The sensor nodes may be permanently attached to the apparatus (e.g. embedded therein) or may be removed at will. Node location can be adjusted to fit users body and may be moved around the vest system to focus on different motions. In one embodiment, the sensor nodes are RF emitters or receivers using triangulation to track absolute or relative motion of the user. In another embodiment, the sensor nodes are absolute or relative position magnetic sensors, which track motion in at least one degree of freedom. Alternatively, the sensor nodes may include combinations of the above.

The nodes are designed for inter/intra communication between nodes and among and within the entire apparatus. In one embodiment the sensor nodes interact with one another based on the output provided by the sensor nodes. In another embodiment, the sensor nodes can adjust outputs based on the outputs of the other sensor nodes. The process of adjusting outputs can be applying different filters on the data coming from the sensor node and/or can be modifying the motion being tracked by the sensor node based on the motion being tracked by the other sensor nodes.

The body motion capture and analysis system may be used alone or in conjunction with other hardware (e.g. video, magnetic systems, heart rate and bio measurement systems, microphones, etc.) or software (data analysis systems, database system, etc.). In one embodiment, the analysis apparatus contains one or more video inputs as illustrated by the screen shot 310 of video input and synchronization for the body motion capture and analysis system as shown in FIG. 19. The system can work in conjunction with other motion tracking and/or sensing devices by using the software included with the system. Other compatible sensing devices may include: one or more pressure measurement systems, and one or more electromagnetic wave sensing systems, etc.

In another embodiment, the system may contain at least one manual user input device, and with which the user may manually input information into the system. In one embodiment, the manual user input system is located on the body motion capture apparatus and includes a set of one or more buttons, switches, microphone, and/or other input devices which produce one or more signals, allowing the user to input information into the apparatus. In another embodiment, the user input device is located on the host (e.g. computer, PDA, cellular phone) and may include one or more one buttons, switches, microphone, and/or other input devices which produce one or more signals, allowing the user to input information into the apparatus. FIG. 20 illustrates a control box 320 to receive manual input by a user. The control box may be located on apparatus and receives user information input from the user including one or more signals controlled by the user concerning when the user is ready for the apparatus to capture his motion, when the user wishes to reset the system, for to indicate that the user is still, for example.

In yet another embodiment, the apparatus contains a wireless transmission unit, which transmits the data from the sensor nodes and user input to another device for storage and/or further analysis. The wireless transmission unit may be generally similar to the data transmission unit described elsewhere herein (see, for example, FIG. 1). In one embodiment, the transmission unit combines all the information from all sensor nodes and manual input systems on the apparatus and send it centrally to another device. In another embodiment, the transmission unit is a set of transmission nodes connected (via wire, or wireless) with each sensor node and manual input system. The transmission nodes associated with each sensor node and manual input system may data send independently of other devices either located on the apparatus, as in another sensor node or manual input device, or to another device not located on the same apparatus.

As noted previously, data is received from the data transmission unit by a data reception system, such as a PC, a cell phone, a network, a PDA, a hard drive, a flash memory stick, a printer, etc. and may be incorporated with the interface device having input and display functionality. The data reception system and user interface device together comprise the “Host” module of the system. As discussed, the system data transmission may be conducted via wireless communication allowing a real-time motion analysis and viewing. Alternatively, the system allows for storage of the data on the body motion capture apparatus for post-capture analysis. Consequently, the Host may include a storage device, an analysis device and an output device, all of which may include independently or combined a PC, a cell phone, a network, a PDA, a hard drive, and a flash memory stick. Further, the output device may include a printer, a speaker system, etc.

In another embodiment, the host includes a software system component. Video is synchronized with Body motion captured animation (see FIG. 19). Within biomechanics applications (e.g. golf, baseball, tennis, lifting, etc.) motion data is displayed including, but not limited to, the following:

-   (1) Linear and/or rotational displacement. -   (2) Parameters derived from the linear and/or rotational     displacement. -   (3) X-Factor/X-factor stretch, other derived parameters. -   (4) Observations based on AI utilizing linear and rotational     displacements. -   (5) Comparisons to professional/amateur/via video and/or animation. -   (6) Overlay of video to animation, animation to animation, video to     video, and vice versa.

In multiple embodiments, the software component of the system may include software incorporated with the body motion capture apparatus which can interpret the signals sent from the apparatus, can interpret the data from the other sensing devices, and/or can interpret the data from the other sensing devices and associate that information with the data from the apparatus' transmission. The system may provides tactile, visual, auditory, and chemical feedback to the user in response to his motion, based on the information gathered from the body motion capture apparatus as well as the other sensing devices associated with the apparatus.

Other embodiments of the invention will be apparent to those skilled in the art from a consideration of the specification or practice of the invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with the true scope and spirit of the invention being indicated by the following claims. 

1. A system for motion tracking and analysis of a plurality of moveable objects, comprising: at least one sensor disposed in or on each of said plurality of moveable objects, wherein said at least one sensor generates orientation and position signals of each of said plurality of moveable objects; at least one microcontroller disposed in or on each of said plurality of moveable objects, wherein said at least one microcontroller processes the orientation and position signals to generate motion data; at least one transmission unit disposed in or on each of said plurality of moveable objects, wherein said at least one transmission unit transmits said motion data from each of said plurality of moveable objects; at least one receiving unit that receives said transmitted motion data.
 2. The system of claim 1, wherein said at least one transmission unit is a wireless transmitter that wireless transmits said motion data to said at least one receiving unit.
 3. The system of claim 1, further comprising: at least one host device that receives as an input said transmitted motion data from said at least one receiving unit, wherein said at least one host device further processes and displays said motion data.
 4. The system of claim 1, further comprising a power source to provide power to said at least one sensor, said at least microcontroller, and said at least one transmitter on each of said plurality of moveable objects.
 5. The system of claim 1, wherein each of said plurality of moveable objects is a golf club.
 6. The system of claim 1, wherein each of said plurality of moveable objects is a game controller.
 7. The system of claim 1, wherein each of said plurality of moveable objects is a controller in a virtual reality simulation.
 8. The system of claim 1, wherein each of said plurality of moveable objects is an article of clothing.
 9. The system of claim 8, wherein said article of clothing is a vest.
 10. The system of claim 1, wherein the at least one sensor is an absolute or relative position magnetic sensor which tracks motion in at least one degree of freedom.
 11. The system of claim 1, wherein the at least one sensor is an RF emitter or receiver that uses triangulation to track absolute or relative motion of each of the plurality of moveable objects.
 12. A method for motion tracking and analysis of a plurality of moveable objects, comprising: generating orientation and position signals to measure orientation and position of a plurality of moveable objects with at least one sensor for determining motion parameters disposed in each of said plurality of moveable objects; processing said and orientation and position signals to generate motion data; transmitting said motion data in real-time from each of said plurality of moveable objects to a receiving device; processing and displaying said motion data from said plurality of moveable objects.
 13. The method of claim 12, wherein said motion data is transmitted wirelessly.
 14. The method of claim 12, wherein each of said plurality of moveable objects is a golf club.
 15. The method of claim 12, wherein each of said plurality of moveable objects is a game controller.
 16. The method of claim 12, wherein each of said plurality of moveable objects is a controller in a virtual reality simulation.
 17. The method of claim 12, wherein each of said plurality of moveable objects is an article of clothing.
 18. The method of claim 15, wherein said article of clothing is a vest.
 19. An apparatus for capturing and analyzing body motion of a user, comprising: at least one sensor node that generates orientation and position signals; a motion coupling means that couples said at least one sensor node to body motion of the user; at least one analysis device coupled to said at least one sensor node that receives said orientation and position signals from said at least sensor node and outputs motion data; at least one transmission unit coupled to said at least one analysis device that receives said motion data from at least one analysis device and transmits said motion data; at least one data reception device that receives said motion data transmitted from said at least one transmission unit; at least one display device that receives an output of said at least one data reception device and graphically displays the body motion of said user.
 20. The apparatus of claim 19, wherein said at least one data reception device further processes said motion data received from said at least one transmission unit.
 21. The apparatus of claim 19, wherein said motion coupling means is an article of clothing worn by the user and wherein said at least one sensor node is embedded in said article of clothing.
 22. The apparatus of claim 19, wherein said article of clothing is a vest.
 23. The apparatus of claim 19, wherein the at least one sensor node is an absolute or relative position magnetic sensor which tracks motion in at least one degree of freedom.
 24. The apparatus of claim 19, wherein the at least one sensor node is an RF emitter or receiver that uses triangulation to track absolute or relative motion of the user.
 25. The apparatus of claim 19, further comprising: at least one additional sensor node, wherein the at least one sensor node interacts with an output of said at least one other sensor node.
 26. The apparatus of claim 25, wherein an output of said at least one sensor node is adjusted based on an output of said at least one other sensor node.
 27. The apparatus of claim 26, wherein said output of said at least one sensor node is adjusted by an application of different filters on the orientation and position data coming from the at least one sensor node.
 28. The apparatus of claim 27, wherein said output of said at least one sensor node is adjusted by modifying the motion being tracked by the at least one sensor node based on the motion being tracked by the at least one other sensor node.
 29. The apparatus of claim 19, further comprising: at least one user input system, wherein the user may input information to control the system.
 30. The apparatus of claim 19, wherein said at least one transmitter is a wireless transmitter that wirelessly transmits said motion data to said at least on data reception device.
 31. The apparatus of claim 19, wherein the at least one transmission unit combines all the information from all sensor nodes and transmits it centrally to another device.
 32. The apparatus of claim 19, wherein the at least one transmission unit is a set of transmission nodes connected with each sensor node.
 33. The apparatus of claim 32, wherein the transmission nodes associated with each sensor node send independently to at least one of another device located on the apparatus and another device not located on the same apparatus.
 34. The apparatus of claim 19, further comprising: at least one software module that interprets signals received from said at least one data reception unit.
 35. The apparatus of claim 19, further comprising: a feedback mechanism that provides tactile, visual, auditory, and chemical feedback to the user in response to the motion data. 